home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / xmmix-1.1 / mixer.h < prev    next >
C/C++ Source or Header  |  1995-07-05  |  3KB  |  84 lines

  1. /*
  2.  *   xmmix - Motif(tm) Audio Mixer
  3.  *
  4.  *   Copyright (C) 1995  Ti Kan
  5.  *   E-mail: ti@amb.org
  6.  *
  7.  *   This program is free software; you can redistribute it and/or modify
  8.  *   it under the terms of the GNU General Public License as published by
  9.  *   the Free Software Foundation; either version 2 of the License, or
  10.  *   (at your option) any later version.
  11.  *
  12.  *   This program is distributed in the hope that it will be useful,
  13.  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
  14.  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15.  *   GNU General Public License for more details.
  16.  *
  17.  *   You should have received a copy of the GNU General Public License
  18.  *   along with this program; if not, write to the Free Software
  19.  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  20.  *
  21.  */
  22. #ifndef __MIXER_H__
  23. #define __MIXER_H__
  24.  
  25. #ifndef LINT
  26. static char *_mixer_h_ident_ = "@(#)mixer.h    2.4 95/05/11";
  27. #endif
  28.  
  29.  
  30. #define FS_LOAD        1        /* File selection mode: Load */
  31. #define FS_SAVE        2        /* File selection mode: Save */
  32.  
  33.  
  34. #define MAXDEVS        32        /* Max devices supported */
  35. #define MAXDEVS_V2    12        /* VoxWare 2.x SOUND_MIXER_NRDEVICES */
  36. #define MAXDEVS_V3    17        /* VoxWare 3.x SOUND_MIXER_NRDEVICES */
  37.  
  38.  
  39. /* Structure of control state information */
  40. typedef struct {
  41.     int        devmask;    /* Mixer feature mask */
  42.     int        recmask;    /* Recording source capability mask */
  43.     int        recsrc;        /* Recording source selector */
  44.     int        stereodevs;    /* Stereo source capability mask */
  45.     int        caps;        /* Capability flags */
  46.     int        enhance;           /* Stereo enhance setting */
  47.     bool_t        mute;        /* Mute setting */
  48.     bool_t        loudness;    /* Loudness setting */
  49.     struct {
  50.         int    left;        /* Left slider setting */
  51.         int    right;        /* Right slider setting */
  52.         bool_t    locked;        /* Sliders locked */
  53.     } slinfo[MAXDEVS];
  54. } ctlinfo_t;
  55.  
  56.  
  57. /* Public functions */
  58. extern void    mx_init_drv(void);
  59. extern void    mx_init_hw(widgets_t *);
  60. extern void    mx_start(widgets_t *);
  61.  
  62. /* Callback functions */
  63. extern void    mx_slider_l(Widget, XtPointer, XtPointer);
  64. extern void    mx_slider_r(Widget, XtPointer, XtPointer);
  65. extern void    mx_lock_btn(Widget, XtPointer, XtPointer);
  66. extern void    mx_play_btn(Widget, XtPointer, XtPointer);
  67. extern void    mx_rec_btn(Widget, XtPointer, XtPointer);
  68. extern void    mx_flat_btn(Widget, XtPointer, XtPointer);
  69. extern void    mx_mute_btn(Widget, XtPointer, XtPointer);
  70. extern void    mx_loud_btn(Widget, XtPointer, XtPointer);
  71. extern void    mx_enhance_btn(Widget, XtPointer, XtPointer);
  72. extern void    mx_load(Widget, XtPointer, XtPointer);
  73. extern void    mx_save(Widget, XtPointer, XtPointer);
  74. extern void    mx_exit(Widget, XtPointer, XtPointer);
  75. extern void    mx_reset(Widget, XtPointer, XtPointer);
  76. extern void    mx_manpg(Widget, XtPointer, XtPointer);
  77. extern void    mx_about(Widget, XtPointer, XtPointer);
  78. extern void    mx_fsok_btn(Widget, XtPointer, XtPointer);
  79. extern void    mx_fscancel_btn(Widget, XtPointer, XtPointer);
  80. extern void    mx_focuschg(Widget, XtPointer, XtPointer);
  81.  
  82. #endif    /* __MIXER_H__ */
  83.  
  84.